package org.openzip.openzip.archiving.logic;

import java.io.File;
import java.io.IOException;
import java.util.Collection;

/**
 * This interface represents the set of functions for accessing the logic for
 * creating Zip/Jar archives. Every class with archiving logic should implement
 * this interface in to be able to be used within ArchiverGUI.
 * 
 * @author David �unek
 * 
 */
public interface IArchiver {
	/**
	 * This function definition is called from ArchiverGUI to create JAR/ZIP
	 * archive. Every archiver must implement at least this function.
	 * 
	 * @param Path where archive will be made.
	 * @param Collection of files to be packed into archive.
	 * @throws This function throws IOException, when path is not found.
	 */
	void makeArchive(File path, Collection<File> files) throws IOException;
}
